<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2017 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Overloading support for Ada</title>

<meta name="description" content="Debugging with GDB: Overloading support for Ada">
<meta name="keywords" content="Debugging with GDB: Overloading support for Ada">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Ada.html#Ada" rel="up" title="Ada">
<link href="Stopping-Before-Main-Program.html#Stopping-Before-Main-Program" rel="next" title="Stopping Before Main Program">
<link href="Additions-to-Ada.html#Additions-to-Ada" rel="prev" title="Additions to Ada">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Overloading-support-for-Ada"></a>
<div class="header">
<p>
Next: <a href="Stopping-Before-Main-Program.html#Stopping-Before-Main-Program" accesskey="n" rel="next">Stopping Before Main Program</a>, Previous: <a href="Additions-to-Ada.html#Additions-to-Ada" accesskey="p" rel="prev">Additions to Ada</a>, Up: <a href="Ada.html#Ada" accesskey="u" rel="up">Ada</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Overloading-support-for-Ada-1"></a>
<h4 class="subsubsection">15.4.10.4 Overloading support for Ada</h4>
<a name="index-overloading_002c-Ada"></a>

<p>The debugger supports limited overloading.  Given a subprogram call in which
the function symbol has multiple definitions, it will use the number of
actual parameters and some information about their types to attempt to narrow
the set of definitions.  It also makes very limited use of context, preferring
procedures to functions in the context of the <code>call</code> command, and
functions to procedures elsewhere.
</p>
<p>If, after narrowing, the set of matching definitions still contains more than
one definition, <small>GDB</small> will display a menu to query which one it should
use, for instance:
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) print f(1)
Multiple matches for f
[0] cancel
[1] foo.f (integer) return boolean at foo.adb:23
[2] foo.f (foo.new_integer) return boolean at foo.adb:28
&gt; 
</pre></div>

<p>In this case, just select one menu entry either to cancel expression evaluation
(type <kbd>0</kbd> and press <tt class="key">RET</tt>) or to continue evaluation with a specific
instance (type the corresponding number and press <tt class="key">RET</tt>).
</p>
<p>Here are a couple of commands to customize <small>GDB</small>&rsquo;s behavior in this
case:
</p>
<dl compact="compact">
<dd>
<a name="index-set-ada-print_002dsignatures"></a>
</dd>
<dt><code>set ada print-signatures</code></dt>
<dd><p>Control whether parameter types and return types are displayed in overloads
selection menus.  It is <code>on</code> by default.
See <a href="#Overloading-support-for-Ada">Overloading support for Ada</a>.
</p>
<a name="index-show-ada-print_002dsignatures"></a>
</dd>
<dt><code>show ada print-signatures</code></dt>
<dd><p>Show the current setting for displaying parameter types and return types in
overloads selection menu.
See <a href="#Overloading-support-for-Ada">Overloading support for Ada</a>.
</p>
</dd>
</dl>




</body>
</html>
